_cccc_tttt_iiii_mmmm_eeee, _cccc_tttt_iiii_mmmm_eeee______rrrr, _llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee, _llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee______rrrr, _gggg_mmmm_tttt_iiii_mmmm_eeee, and _gggg_mmmm_tttt_iiii_mmmm_eeee______rrrr accept
arguments of type _tttt_iiii_mmmm_eeee______tttt, pointed to by _cccc_llll_oooo_cccc_kkkk, representing the time in
seconds since 00:00:00 UTC, January 1, 1970. _cccc_tttt_iiii_mmmm_eeee and _cccc_tttt_iiii_mmmm_eeee______rrrr return a
pointer to a 26-character string as shown below. Time zone and daylight
savings corrections are made before the string is generated. The fields
are constant in width:
Fri Sep 13 00:00:00 1986\n\0
_llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee, _llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee______rrrr, _gggg_mmmm_tttt_iiii_mmmm_eeee, and _gggg_mmmm_tttt_iiii_mmmm_eeee______rrrr return pointers to _tttt_mmmm
structures, described below. _llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee and _llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee______rrrr correct for the
main time zone and possible alternate (``daylight savings'') time zone;
_gggg_mmmm_tttt_iiii_mmmm_eeee and _gggg_mmmm_tttt_iiii_mmmm_eeee______rrrr convert directly to Coordinated Universal Time (UTC),
which is the time the UNIX system uses internally.
_aaaa_ssss_cccc_tttt_iiii_mmmm_eeee and _aaaa_ssss_cccc_tttt_iiii_mmmm_eeee______rrrr convert a _tttt_mmmm structure to a 26-character string, as
shown in the above example, and returns a pointer to the string.
The value of _tttt_mmmm______iiii_ssss_dddd_ssss_tttt is positive if daylight savings time is in effect,
zero if daylight savings time is not in effect, and negative if the
information is not available. (Previously, the value of _tttt_mmmm______iiii_ssss_dddd_ssss_tttt was
defined as non-zero if daylight savings time was in effect.)
_cccc_tttt_iiii_mmmm_eeee, _gggg_mmmm_tttt_iiii_mmmm_eeee, _aaaa_ssss_cccc_tttt_iiii_mmmm_eeee, and _llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee all return pointers to static data
which are overwritten on each call. Reentrant versions of these
functions are also available as _n_a_m_e______rrrr. The parameter _bbbb_uuuu_ffff to _aaaa_ssss_cccc_tttt_iiii_mmmm_eeee______rrrr
and _cccc_tttt_iiii_mmmm_eeee______rrrr specify a character buffer where the resultant string should
be placed. This buffer should be at least 26 characters long. The
parameter _rrrr_eeee_ssss_uuuu_llll_tttt to _gggg_mmmm_tttt_iiii_mmmm_eeee______rrrr and _llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee______rrrr points to where the
resultant broken-down time is placed. These two functions always return
a pointer to that same structure.
The external _tttt_iiii_mmmm_eeee______tttt variable _aaaa_llll_tttt_zzzz_oooo_nnnn_eeee contains the difference, in seconds,
between Coordinated Universal Time and the alternate time zone. The
external variable _tttt_iiii_mmmm_eeee_zzzz_oooo_nnnn_eeee contains the difference, in seconds, between
UTC and local standard time. The external variable _dddd_aaaa_yyyy_llll_iiii_gggg_hhhh_tttt indicates
whether time should reflect daylight savings time. Both _tttt_iiii_mmmm_eeee_zzzz_oooo_nnnn_eeee and
_aaaa_llll_tttt_zzzz_oooo_nnnn_eeee default to 0 (UTC). The external variable _dddd_aaaa_yyyy_llll_iiii_gggg_hhhh_tttt is non-zero
if an alternate time zone exists. The time zone names are contained in
the external variable _tttt_zzzz_nnnn_aaaa_mmmm_eeee, which by default is set to:
In the longer version of the New Jersey example of _TTTT_ZZZZ_,,,, _tttt_zzzz_nnnn_aaaa_mmmm_eeee[_0] is EST,
_tttt_iiii_mmmm_eeee_zzzz_oooo_nnnn_eeee will be set to 5*60*60, _tttt_zzzz_nnnn_aaaa_mmmm_eeee[_1] is EDT, _aaaa_llll_tttt_zzzz_oooo_nnnn_eeee will be set to
4*60*60, the starting date of the alternate time zone is the 117th day at
2 AM, the ending date of the alternate time zone is the 299th day at 2 AM
(using zero-based Julian days), and _dddd_aaaa_yyyy_llll_iiii_gggg_hhhh_tttt will be set positive.
Starting and ending times are relative to the alternate time zone. If
the alternate time zone start and end dates and the time are not
provided, the days for the United States that year will be used and the
time will be 2 AM. If the start and end dates are provided but the time
is not provided, the time will be 2 AM. _tttt_zzzz_ssss_eeee_tttt changes the values of the
external variables _tttt_iiii_mmmm_eeee_zzzz_oooo_nnnn_eeee, _aaaa_llll_tttt_zzzz_oooo_nnnn_eeee, _dddd_aaaa_yyyy_llll_iiii_gggg_hhhh_tttt, and _tttt_zzzz_nnnn_aaaa_mmmm_eeee. _cccc_tttt_iiii_mmmm_eeee,
_llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee, _mmmm_kkkk_tttt_iiii_mmmm_eeee, and _ssss_tttt_rrrr_ffff_tttt_iiii_mmmm_eeee will also update these external variables
as if they had called _tttt_zzzz_ssss_eeee_tttt at the time specified by the _tttt_iiii_mmmm_eeee______tttt or _ssss_tttt_rrrr_uuuu_cccc_tttt
_tttt_mmmm value that they are converting.
Note that in most installations, _TTTT_ZZZZ is set to the correct value by
default when the user logs on, via the local _////_eeee_tttt_cccc_////_pppp_rrrr_oooo_ffff_iiii_llll_eeee file [see
_pppp_rrrr_oooo_ffff_iiii_llll_eeee(4) and _tttt_iiii_mmmm_eeee_zzzz_oooo_nnnn_eeee(4)].
EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
This example returns a string containing the current date and time using
_////_uuuu_ssss_rrrr_////_llll_iiii_bbbb_////_llll_oooo_cccc_aaaa_llll_eeee_////_l_a_n_g_u_a_g_e_////_LLLL_CCCC______TTTT_IIII_MMMM_EEEE - file containing locale specific date
The return values for _cccc_tttt_iiii_mmmm_eeee, _llll_oooo_cccc_aaaa_llll_tttt_iiii_mmmm_eeee, and _gggg_mmmm_tttt_iiii_mmmm_eeee point to static data
whose content is overwritten by each call.
Setting the time during the interval of change from _tttt_iiii_mmmm_eeee_zzzz_oooo_nnnn_eeee to _aaaa_llll_tttt_zzzz_oooo_nnnn_eeee
or vice versa can produce unpredictable results. The system
administrator must change the Julian start and end days annually.